// package com.zmn.oms.task.listener;
//
// import com.alibaba.fastjson.JSON;
// import com.zmn.manager.mq.annotation.AliyunMQHandler;
// import com.zmn.manager.mq.annotation.AliyunMQListener;
// import com.zmn.manager.mq.constant.MqTagConsts;
// import com.zmn.manager.mq.constant.MqTopicConsts;
// import com.zmn.oms.task.es.business.interfaces.orderpart.SyncEsOrderPartBService;
// import org.slf4j.Logger;
// import org.slf4j.LoggerFactory;
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.stereotype.Component;
//
// import java.sql.SQLTransientConnectionException;
// import java.util.List;
// import java.util.Objects;
//
// /**
//  * 类描述：工单
//  *
//  * @author lujia
//  * @date 2018/11/30 16:53
//  */
// @AliyunMQListener(topic = "${spring.mq.topic.oms}")
// @Component
// public class OrderPartChangeListener {
//
// 	private static final Logger logger = LoggerFactory.getLogger(OrderPartChangeListener.class);
//
// 	@Autowired
// 	private SyncEsOrderPartBService syncEsOrderPartBService;
//
// 	@AliyunMQHandler(tags = MqTagConsts.ZMN_TOPIC_OMS_CHANGE_ORDER_PART)
// 	public void orderChange(String message) {
//
// 		// test
// 		if (Objects.equals(message, MqTopicConsts.MQ_TEST_MESSAGE)) {
// 			logger.debug("#mq#orderpart#recive test success");
// 			return;
// 		}
//
// 		List<Long> orderIdList = null;
//
// 		try {
// 			orderIdList = JSON.parseArray(message, Long.class);
// 			if (orderIdList.size() > 300) {
// 				logger.info("#mq#orderpart#2es#start");
// 			} else {
// 				logger.debug("#mq#orderpart#2es#start");
// 			}
// 			syncEsOrderPartBService.sync(orderIdList);
// 			if (orderIdList.size() > 300) {
// 				logger.info("#mq#orderpart#2es#end orderIdList.count:{}", orderIdList.size());
// 			} else {
// 				logger.debug("#mq#orderpart#2es#end orderIdList.count:{}", orderIdList.size());
// 			}
// 		} catch (Exception e) {
// 			logger.error("#oms#orderpart#重建索引消费失败 {}", e.getMessage(), e);
// 			logger.error("#oms#orderpart#未同步工单列表[{}]", orderIdList);
// 			if (e instanceof SQLTransientConnectionException) {
// 				logger.error("数据库连接错误");
// 			}
// 		}
// 	}
// }
